Effectiveness of Garbage Collection in MIT/GNU Scheme

نویسندگان

  • Amey Karkare
  • Amitabha Sanyal
  • Uday P. Khedker
چکیده

Scheme uses garbage collection for heap memory management. Ideally, garbage collectors should be able to reclaim all dead objects, i.e. objects that will not be used in future. However, garbage collectors collect only those dead objects that are not reachable from any program variable. Dead objects that are reachable from program variables are not reclaimed. In this paper we describe our experiments to measure the effectiveness of garbage collection in MIT/GNU Scheme. We compute the drag time of objects, i.e. the time for which an object remains in heap memory after its last use. The number of dead objects and the drag time together indicate opportunities for improving garbage collection. Our experiments reveal that up to 26% of dead objects remain in memory. The average drag time is up to 37% of execution time. Overall, we observe memory saving potential ranging from 9% to 65%.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Functional Package Management with Guix

We describe the design and implementation of GNU Guix, a purely functional package manager designed to support a complete GNU/Linux distribution. Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It builds upon the low-level build and deployment layer of the Nix package manager. Guix uses Scheme as its programming in...

متن کامل

Scheme for Invalidating References to Freed Storage

A storage management scheme is described that supports the invalidation of addresses to freed storage and thus, in that sense, provides a secure system. Unlike previous virtual memory techniques, the allocated areas of our scheme can vary from the very large, requiring multiple pages of storage, to the very small, in which several can be contained on a single page. Special treatment is accorded...

متن کامل

Lightweight Lexical Closures for Legitimate Execution Stack Access

We propose a new language concept called “L-closures” for a running program to legitimately inspect/modify the contents of its execution stack. L-closures are lightweight lexical closures created by evaluating nested function definitions. A lexical closure can access the lexicallyscoped variables in the creation-time environment and indirect calls to it provide legitimate stack access. By using...

متن کامل

Empirical Studies of Distributed Garbage Collection

Garbage collection has been a necessary evil of computer languages that employ dynamic data structures. The 1990’s has seen some significant technology shifts that present new challenges for automatic garbage collection. In particular, distributed systems are providing an economical approach to parallel processing. Many distributed garbage collection algorithms have been proposed but few have b...

متن کامل

Fault-Tolerant Distributed Garbage Collection in a Client-Server Object-Oriented Database

We present a scalable garbage collection scheme for systems that store objects at multiple servers while clients run transactions on locally cached copies of objects. It is the first scheme that provides fault tolerance for such a system: Servers recover from failures and retrieve information needed for safe garbage collection; clients do not recover from failures, yet the scheme is able to rec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/cs/0611093  شماره 

صفحات  -

تاریخ انتشار 2006